package main

import (
	"fmt"
	"test/类成语访问权限/src"
)

//在go语言中，权限都是通过首字母大小来控制
// 1、 import ==> 如果包名不同，那么只有大写字母开头的才是public
// 2、 对于类里面的成员、方法--->只有大写开头的才能在其它包中使用

func main() {
	s1 := src.Student{
		People: src.Human{
			Name:   "cc",
			Age:    18,
			Gender: "male",
		},
		School: "caozhuangxiaoxue",
	}

	fmt.Println("s1.name: ", s1.People.Name)
	fmt.Println("s1.school: ", s1.School)

	t1 := src.Teacher{}
	t1.Name = "苍老师"
	t1.Age = 35
	t1.Subject = "艺术"
	fmt.Println("t1: ", t1)
	t1.Eat()

	//继承的时候虽然没有定义字段名称，但是会自动创建一个默认的同名字段
	//这是为了在子类中依然可以操作父类，因为子类父类可能出现同名的字段

	fmt.Println("t1.human.name: ", t1.Human.Name)
}
